.. _ecmSxCfg_GetUnitDist: ecmSxCfg_GetUnitDist ==================== -------------------- SYNOPSIS -------- .. code-block:: none t_f64 ecmSxCfg_GetUnitDist( t_i32 NetID, t_i32 Axis, t_i32 *ErrCode ) DESCRIPTION ----------- - 이 함수는 논리적 단위 거리에 대한 펄스 수를 설정합니다. - 여기서 논리적 단위 거리라 함은 Move 함수에서 사용하는 단위 거리 또는 위치에 대한 펄스 수를 의미합니다. - 이 함수를 사용하여 특별히 지정하지 않는 경우에는 논리적 단위 거리에 대한 펄수 수는 초기 값인 ‘1’로 사용됩니다. PARAMETER --------- - NetID : Network 번호 - Axis : 대상 축 번호. - ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다. RETURN VALUE ------------ - 이 리턴값은 논리적 거리 단위가 반환됩니다. REFERENCE ````````````` .. image:: ecmSxCfg_SetUnitDist_00.jpg .. code-block:: cpp :linenos: Unit distance (Du) = Pr/Lr = 10000/5 = 2000 Unit speed (Vu) = 2000 //따라서, Unit distance"와 "Unit speed"를 2000으로 설정하면 다음과 같이 모든 //이동함수에서 거리의 단위를 mm단위에 해당하는 값으로 입력할 수 있습니다. // #define NET 0 #define AXIS 0 // 2000/mm ecmSxCfg_SetUnitDist (NET, AXIS, 2000, NULL); ecmSxCfg_SetUnitSpeed (NET, AXIS, 2000, NULL); // 속도=100(mm/s), 가/감속도=1000(mm/s^2) 으로 설정한다. // ecmSxCfg_SetSpeedPatt (NET, AXIS, ecmSMODE_TRAPE, 0, 0, 100, 1000, 1000); // (+)방향으로 20mm 이송한다 (실제는 20*2000 = 40000 펄스가 출력됨) // ecmSxMot_Move (NET, AXIS, 20, NULL); // (-)방향으로 20mm 이송한다 (실제는 20*2000 = 40000 펄스가 출력됨) // ecmSxMot_Move) (NET, AXIS, -20, NULL);